//package cn.hloger.spider.demo.kafkaDemo.provider;
//
//import cn.hloger.spider.demo.chatgptDemo.bean.resp.ChatApiResp;
//import com.alibaba.fastjson.JSONObject;
//import com.google.common.collect.Lists;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.kafka.core.KafkaTemplate;
//import org.springframework.kafka.support.SendResult;
//import org.springframework.stereotype.Component;
//import org.springframework.util.concurrent.ListenableFuture;
//import org.springframework.util.concurrent.ListenableFutureCallback;
//
//import java.time.LocalDateTime;
//import java.util.List;
//
///**
// * @author 犬小哈（公众号：小哈学Java）
// * @date 2019/4/12
// * @time 下午3:05
// * @discription 消息提供者
// **/
//@Component
//@Slf4j
//public class KafkaProvider {
//
//    /**
//     * 消息 TOPIC
//     */
//    private static final String TOPIC = "zhy_h_test_topic";
//
//    @Autowired
//    private KafkaTemplate<String, String> kafkaTemplate;
//
//    public String sendMessage(long orderId, String orderNum, LocalDateTime createTime) {
//        // 构建一个订单类
//        List<ChatApiResp.ChatData> dataList = Lists.newArrayList();
//        for (int i = 0; i < 3; i++) {
//            ChatApiResp.ChatData chatData = new ChatApiResp.ChatData();
//            chatData.setType(i);
//            chatData.setContent("消息" + i);
//            chatData.setUrl("http://" + i);
//            dataList.add(chatData);
//        }
//        ChatApiResp chatApiResp = new ChatApiResp();
//        chatApiResp.setCode(11111);
//        chatApiResp.setMsg("发消息");
//        chatApiResp.setData(dataList);
//
//        // 发送消息，订单类的 json 作为消息体
//        ListenableFuture<SendResult<String, String>> future =
//                kafkaTemplate.send(TOPIC, JSONObject.toJSONString(chatApiResp));
//
//        // 监听回调
//        future.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
//            @Override
//            public void onFailure(Throwable throwable) {
//                log.info("## Send message fail ...");
//            }
//
//            @Override
//            public void onSuccess(SendResult<String, String> result) {
//                log.info("## Send message success ...");
//            }
//        });
//        return "success";
//    }
//}